package com.sy.mapper;

import com.sy.dto.TeaInfo;
import com.sy.dto.TeaSimpleInfo;
import com.sy.entity.Teacher;
import com.sy.vo.TeaInfoVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface TeacherMapper {
    /**
     * 根据工号查找老师
     * @param account
     * @return
     */
    Teacher getTeacherByAccount(String account);
    /**
     * 根据老师id查找老师
     * @param id
     * @return
     */
    Teacher getTeacherById(String id);
    /**
     * 根据老师id查找老师信息
     * @param id
     * @return
     */
    TeaInfo getTeaInfoById(String id);

    /**
     * 获取所有老师的信息
     * @return
     */
    TeaSimpleInfo getTeaSimpleInfo(String id);
    /**
     * 修改老师信息
     * @return
     */
    boolean updateTeaInfo(TeaInfoVo teaInfoVo);
    /**
     * 更改密码
     * @param newPwd
     * @param id
     * @return
     */
    boolean changeTeaPwd(@Param("newPwd") String newPwd, @Param("id") String id);

    /**
     * 作者：张德帅
     * 得到所有的老师信息列表
     * @return
     */
    List<Teacher> getAllTeacherInfo ();

    /**
     * 作者：张德帅
     * 根据关键词得到所有符合条件的老师信息列表
     * @param keyWords  关键词
     * @return
     */
    List<Teacher> getTeacherInfoByKeyWords(String keyWords);

    /**
     * 作者：张德帅
     * 添加老师信息
     * @param teacher   要添加的老师对象
     * @return  添加老师操作是否成功的布尔值
     */
    boolean addTeacherInfo(Teacher teacher);

    /**
     * 作者：张德帅
     * 根据老师id删除老师信息
     * @param id
     * @return  删除老师操作是否成功的布尔值
     */
    boolean delTeacherInfoById(Integer id);

    /**
     * 作者：张德帅
     * 根据老师id修改老师信息
     * @param teacher   要修改的老师对象
     * @return  修改老师操作是否成功的布尔值
     */
    boolean updateTeacherInfoById(Teacher teacher);

}
